1. Field of the Invention
The present invention relates generally to high speed communication systems employing multi-dimensional coded modulation schemes.
2. Description of Related Art
A generalized communication system includes a transmitter which transmits symbols to a receiver through a communication "channel." Communication systems have been designed to transmit through a wide variety of channels, including conductive metals such as copper, magnetic storage read/write channels, optical fiber, the atmosphere, water, and so on. All channels have certain problems such that when symbols are transmitted through the channel they may become corrupted. The manner and degree to which such corruption occurs depends on the channel characteristics.
It is imperative to reliably transmit the information through the channel. A common approach to providing such reliability is to encode (channel coding) the information to be sent over the channel so that it is easier to detect the errors introduced by the channel and in addition correct them, so as to reliably obtain the information transmitted through the channel. The code used for encoding the information should be designed and implemented with reference to the characteristics of the channel. The code used for voice or data communications over a telephone channel therefore is likely to be entirely different from that used for an atmospheric channel in satellite communications.
There are two basic ways to perform channel coding--block coding and convolutional coding. With block codes, the system takes successive groups of information bits, usually called a "frame," and codes each such frame into a block, usually called a "code block" or "code word." Using the typical nomenclature, k bits are encoded into n bits where n&gt;k. Each generated code word is independent of all other generated code words. The only thing needed to decode the n bits of a code block therefore are the n bits themselves.
In a convolutional code or "trellis code", by contrast, k bits are encoded into n bits, but with "memory" attached to the n bits in that their values are dependent on the values of prior information bits.
As generally shown by FIG. 1, a modulator is needed to transform the information stream, in this case the encoded data, into a form that is suitable for the channel. In like fashion, a demodulator is used on the receive side of the channel to convert the modulated signals back into an information stream.
The communication industry has determined that channel coding should be optimized to address the combined concerns of the modulator and the channel characteristics. This approach to coding is often called "combined coding and modulation" or simply "coded modulation." Where a block code is used to address both modulation and channel concerns, the terminology is "block coded modulation"--where a trellis code is used, the terminology is "trellis coded modulation."
The present invention is directed only to block coded modulation and is designed to be simple and provide low latency which is an important issue in high speed communications such as in the gigabit ethernet context in which this invention was realized.
A block code is often described with the shorthand notation of (n, k, d) where n=the coded length of the code block, k=the number of information bits, and d=the minimum Hamming distance between code blocks. Given a simple block code that operates on three information bits at a time, i.e. where k=3, and where the coding scheme is simply adding one additional bit to implement even parity, i.e. where n=4, the code may be identified as an even parity (4, 3, 2) code. The reader can easily verify that the minimum bit difference between any two code words is 2 bits such that d=2.
The ultimate goal in any communication system, of course, is to successfully transmit a bit stream over the channel using the "constellation" of modulation levels or permutations available for that channel. Recall from above that the modulator puts the information into a condition that is suitable for transmission over the channel. In order to transmit the information over the channel, therefore, it is necessary to "map" the bits of the information stream onto the available constellation of "modulation levels" or "symbols." The mapping relationship between information bits and transmitted symbols is defined in advance.
There are many modulation techniques which can benefit from the present invention. For background, however, one particularly well known approach is pulse amplitude modulation (PAM). In a PAM-based system, the information bits are mapped into a sequence of electrical signals, or pulses, having two or more voltage levels.
All channels tend to introduce noise and, of particular significance to PAM, introduce amplitude and phase distortion that broadens the pulses and causes intersymbol interference (ISI). The resulting distortion that leads a particular pulse and interferes with past pulses is called precursor ISI and the distortion that follows a particular pulse and interferes with future pulses is called postcursor ISI. The typical receiver includes an "equalizer" which compensates the electric pulses for the channel distortion. In other words, the equalizer attempts to cancel or remove the ISI. The residual channel distortion which remains after the channel equalizer and the noise introduced by the channel make it necessary to channel encode the information bits to provide a higher degree of reliability for the information bits, i.e., a lower probability of error at a given signal to noise ratio (SNR). Usage of a channel coding scheme leads to a lower SNR required to achieve the desired probability of bit error, as compared to the SNR required to achieve the same probability of bit error without the usage of the channel coding scheme. This reduction in SNR is referred to as "coding gain".
At very high data rates such as that required by the presently evolving standard for gigabit Ethernet (e.g. a million bits per second), it is desirable to use a scheme employing block coded modulation which encodes a plurality of data bits into a multi-dimensional constellation of data symbols that provides sufficient information data rate and coding gain. In the context of gigabit Ethernet, for example, the goal is to successfully transmit the information over standard Category 5 unshielded twisted pair (UTP5). UTP5 has eight conductors provided as four twisted pairs which, given one dimensional PAM modulation, form a four dimensional channel of four parallel, PAM modulated "wires."
The prior art block coded modulation schemes known to these inventors do not adequately address the requirements of being a "systematic" code and in addition allowing achievement of sufficient coding gain over each single baud interval to permit adaptive equalization while providing a very high coding gain in transmitting an entire code block over multiple baud intervals to minimize, detect, and correct bit errors.
There remains a need, therefore, for a communication system which employs a block coded modulation scheme over multiple baud intervals on one or more channels.